Generalizing Java RMI to Support Efficient Group Communication
نویسندگان
چکیده
This paper presents a generalization of the Java Remote Method Invocation model (RMI) providing an efficient group communication mechanism for parallel programming. In our Group Method Invocation model (GMI), methods can be invoked on a local object, on a remote object or on a group of objects (possibly with personalized parameters). Likewise, result values and exceptions can be returned normally, discarded, or, when multiple results are produced, combined into a single result. The different method invocation and reply handling schemes can be combined orthogonally, allowing us to express a large spectrum of communication mechanisms of which standard RMI and MPI-style collective communication are special cases. For each method, the invocation and reply scheme can be selected at runtime. GMI has been implemented in the Manta high-performance Java system. Using several micro-benchmarks and three applications, we compare GMI’s expressiveness and runtime efficiency to plain Java RMI and to the collective communication operations from the mpiJava library. Our results show that GMI significantly simplifies program complexity while our prototype implementation performs even faster than mpiJava (except for one test case).
منابع مشابه
GMI: Flexible and Efficient Group Method Invocation for Parallel Programming
We present a generalization of Java’s Remote Method Invocation model (RMI) providing an efficient group communication mechanism for parallel programming. Our Group Method Invocation model (GMI) allows methods to be invoked either on a single object or on a group of objects, the latter possibly with personalized parameters. Likewise, result values and exceptions can be returned normally (as with...
متن کاملEfficient Remote Method Invocation
In current Java implementations, Remote Method Invocation is slow. On a Pentium Pro/Myrinet cluster, for example, a null RMI takes 1228 μs using Sun’s JDK 1.1.4. This paper describes Manta, a Java system designed to support efficient communication. On the same Myrinet cluster, Manta achieves a null RMI latency of 35 μs. Manta is based on a native Java compiler. It achieves high communication pe...
متن کاملEmbedding Remote Object Mobility in Java RMI
Mobile code offers several capabilities such as bandwidth-efficient communication, disconnected operation, and support for dynamic and flexible systems. Nevertheless, mobile code based programming paradigms have difficulty in flowing from research activities to commercial systems. The main reason seems to be the lack of integration between the language support for mobility and a familiar progra...
متن کاملA Reliable Registry for the Jgroup Distributed Object Model
The registry service is a fundamental component of Java RMI. A registry is a repository facility used by remote servers to advertise their availability to provide certain services, and by clients to retrieve remote servers by simple names. Unfortunately, the service provided by the Java RMI registry (as the rest of the Java RMI architecture) is not reliable: partitioned or crashed registries fo...
متن کاملA More E cient RMI for Java
In current Java implementations, Remote Method Invocation (RMI) is too slow, especially for high performance computing. RMI is designed for wide-area and high-latency networks, it is based on a slow object serialization, and it does not support high-performance communication networks. The paper demonstrates that a much faster drop-in RMI and an e cient serialization can be designed and implemen...
متن کامل